home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / X11 / config / Imake.tmpl < prev    next >
Text File  |  2006-04-12  |  54KB  |  2,303 lines

  1. XCOMM ----------------------------------------------------------------------
  2. XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
  3. XCOMM $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $
  4. XCOMM $XdotOrg: xc/config/cf/Imake.tmpl,v 1.6 2004/07/28 03:24:29 gisburn Exp $
  5. XCOMM
  6. XCOMM
  7. XCOMM
  8. XCOMM
  9. XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $
  10. XCOMM ----------------------------------------------------------------------
  11.  
  12. /*
  13.  * generic imake template
  14.  */
  15.  
  16. /*
  17.  * Modify Imake.cf when adding a new architecture, do not modify this file.
  18.  * Platform-specific parameters may be set in the appropriate <vendor>.cf
  19.  * configuration files.  Site-specific parameters should be set in the file
  20.  * site.def.  Full rebuilds are recommended if any parameters are changed.
  21.  * If your C preprocessor does not define any unique symbols, you will need
  22.  * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  23.  * "make World" the first time).
  24.  */
  25.  
  26. #define ImakeConfigRelease 6
  27.  
  28. #define    YES    1
  29. #define NO    0
  30.  
  31. /* Ensure that "all" is the default target in the Makefile. */
  32. all::
  33.  
  34. .SUFFIXES: .i
  35.  
  36. /* Intercept clean rules for current directory */
  37. #undef clean
  38. #define clean cleandir
  39.  
  40. #include <Imake.cf>
  41.  
  42. XCOMM -----------------------------------------------------------------------
  43. XCOMM site-specific configuration parameters that need to come before
  44. XCOMM the platform-specific parameters - edit site.def to change
  45. #define BeforeVendorCF
  46. #include <site.def>
  47. #undef BeforeVendorCF
  48.  
  49. #if defined(HasGcc3) && !defined(HasGcc2)
  50. # define HasGcc2 HasGcc3
  51. #endif
  52. #if defined(HasGcc2) && !defined(HasGcc)
  53. # define HasGcc HasGcc2
  54. #endif
  55.  
  56. #ifndef HasCenterLineC
  57. #define HasCenterLineC NO
  58. #endif
  59. #ifndef HasCenterLineCplusplus
  60. #define HasCenterLineCplusplus NO
  61. #endif
  62.  
  63. #ifndef HasClearmake
  64. # define HasClearmake NO
  65. #endif
  66.  
  67. /*
  68.  * ClearmakeOSName - insert the current OS type into the clearmake
  69.  * build script, so .o files from different platforms cannot be winked in.
  70.  * If clearmake finds the build script for two .o files is the same, it
  71.  * will share the .o, even across different architectures.  Inserting the
  72.  * O/S name into the build script in a comment prevents unwanted sharing.
  73.  * Note the trailing double-@ in the macro: end a line using this macro
  74.  * with backslash without the double-@ usually used.
  75.  * Like this:
  76.  *
  77.  * #define SomeRule() @@\
  78.  *     something or other @@\
  79.  *     ClearmakeOSName \
  80.  *     something else @@\
  81.  *     and more
  82.  */
  83. #ifndef ClearmakeOSName
  84. # if HasClearmake
  85. #  define ClearmakeOSName @ XCOMM $(OSNAME) @@
  86. # else
  87. #  define ClearmakeOSName /**/
  88. # endif
  89. #endif
  90.  
  91. #if HasClearmake
  92. # ifndef MakeCmd
  93. #  define MakeCmd clearmake
  94. # endif
  95. #endif
  96.  
  97. #if HasClearmake
  98. XCOMM ----------------------------------------------------------------------
  99. .c.o:
  100.     ClearmakeOSName    $(CC) -c $(CFLAGS) $*.c
  101. #endif
  102.  
  103. XCOMM ----------------------------------------------------------------------
  104. XCOMM platform-specific configuration parameters - edit MacroFile to change
  105. #include MacroIncludeFile
  106.  
  107. XCOMM ----------------------------------------------------------------------
  108. XCOMM site-specific configuration parameters that go after
  109. XCOMM the platform-specific parameters - edit site.def to change
  110. #define AfterVendorCF
  111. #include <site.def>
  112. #undef AfterVendorCF
  113.  
  114. /*
  115.  * defaults for various generic parameters; set in site.def if needed
  116.  */
  117.  
  118. /* the following are needed before we can include Imake.rules */
  119.  
  120. #ifndef NothingOutsideProjectRoot
  121. #define NothingOutsideProjectRoot NO
  122. #endif
  123.  
  124. #ifndef RemoveObsoleteFiles
  125. #define RemoveObsoleteFiles YES
  126. #endif
  127.  
  128. #ifndef HasVarDirectory
  129. #define HasVarDirectory        YES
  130. #endif
  131. #ifndef UseEtcX11
  132. #define UseEtcX11        YES
  133. #endif
  134. #ifndef UseInstalledX11
  135. # define UseInstalledX11        NO
  136. #endif
  137. #ifdef UseInstalled
  138. # undef UseInstalledX11
  139. # define UseInstalledX11        YES
  140. #endif
  141. #if NothingOutsideProjectRoot
  142. #undef UseEtcX11
  143. #define UseEtcX11        NO
  144. #endif
  145. #ifndef UseSeparateConfDir
  146. #define UseSeparateConfDir    (UseEtcX11 || HasVarDirectory)
  147. #endif
  148. #if NothingOutsideProjectRoot
  149. #undef UseSeparateConfDir
  150. #define UseSeparateConfDir    NO
  151. #endif
  152. #ifndef SystemV
  153. #define SystemV            NO    /* SYSV (R3) */
  154. #endif
  155. #ifndef SystemV4
  156. #define SystemV4        NO    /* SVR4 */
  157. #endif
  158. #ifndef HasCodeCenter
  159. #define HasCodeCenter        NO
  160. #endif
  161. #ifndef HasSentinel
  162. #define HasSentinel        NO
  163. #endif
  164. #ifndef HasPurify
  165. #define HasPurify        NO
  166. #endif
  167. #ifndef HasTestCenter
  168. #define HasTestCenter        NO
  169. #endif
  170. #ifndef HasGnuMake
  171. #define HasGnuMake        NO
  172. #endif
  173. /*
  174.  * The following fixes a glitch with GNU make -j
  175.  */
  176. #ifndef ForceServerRemake
  177. #define ForceServerRemake    HasGnuMake
  178. #endif
  179. #ifndef HasBsdMake
  180. #define HasBsdMake        NO
  181. #endif
  182. #ifndef HasParallelMake
  183. #define HasParallelMake        NO
  184. #endif
  185. #ifndef RemoveTargetProgramByMoving
  186. #define RemoveTargetProgramByMoving NO
  187. #endif
  188. #ifndef DoRanlibCmd
  189. #if SystemV || SystemV4
  190. #define DoRanlibCmd NO
  191. #else
  192. #define DoRanlibCmd YES
  193. #endif
  194. #endif
  195. #ifndef ExecableScripts
  196. #if SystemV
  197. #define ExecableScripts        NO
  198. #else
  199. #define ExecableScripts        YES    /* kernel exec() can handle #! */
  200. #endif
  201. #endif
  202.  
  203. #ifndef HasMakefileSafeInclude        /* -include or sinclude in a Makefile */
  204. #if HasClearmake || HasBsdMake
  205. #define HasMakefileSafeInclude    YES
  206. #else
  207. #define HasMakefileSafeInclude    NO   /* see also vendor-specific .cf files */
  208. #endif
  209. #endif
  210.  
  211. #ifndef HasSymLinks
  212. #define HasSymLinks YES
  213. #endif
  214.  
  215. #ifndef HasPerl
  216. #define HasPerl            YES
  217. #endif
  218.  
  219. #ifndef HasPerl5
  220. #define HasPerl5        HasPerl
  221. #endif
  222.  
  223. #ifndef PerlCmd
  224. #define PerlCmd            perl
  225. #endif
  226.  
  227. #ifndef PerlOptions
  228. #define PerlOptions        /**/
  229. #endif
  230.  
  231. #ifndef PerlEnvSetup
  232. #define PerlEnvSetup        env LC_ALL=C
  233. #endif
  234.  
  235. #ifndef BuildRman
  236. #define BuildRman YES
  237. #endif
  238.  
  239. #ifndef HasGperf
  240. #define HasGperf        NO
  241. #endif
  242.  
  243. #ifndef GperfCmd
  244. #define GperfCmd        gperf
  245. #endif
  246.  
  247. #ifndef RmanCmd
  248. #if BuildRman
  249. #ifdef UseInstalled        /* assume BINDIR in path */
  250. #define RmanCmd rman
  251. #else
  252. #define RmanCmd $(TOP)/config/util/rman
  253. #endif
  254. #endif
  255. #endif
  256.  
  257. #ifndef RmanOptions
  258. #if BuildRman
  259. #define RmanOptions -f HTML
  260. #endif
  261. #endif
  262.  
  263. #ifndef BuildHtmlManPages
  264. #ifdef RmanCmd
  265. #define BuildHtmlManPages YES
  266. #else
  267. #define BuildHtmlManPages NO
  268. #endif
  269. #endif
  270. /* Can't do this while bootstrapping imake */
  271. #ifdef BootStrap
  272. #undef BuildHtmlManPages
  273. #define BuildHtmlManPages NO
  274. #endif
  275.  
  276. #ifndef DontPreprocessManPages
  277. #ifdef UseInstalled
  278. #define DontPreprocessManPages YES
  279. #else
  280. #define DontPreprocessManPages NO
  281. #endif
  282. #endif
  283.  
  284. #ifndef CompressManPages
  285. #define CompressManPages NO
  286. #endif
  287.  
  288. #ifndef HasGroff
  289. #define HasGroff NO
  290. #endif
  291. #ifndef HasGroffHtml
  292. #define HasGroffHtml NO
  293. #endif
  294.  
  295. #ifndef HasCookieMaker
  296. #define HasCookieMaker    NO
  297. #endif
  298.  
  299. #ifndef DoLoadableServer
  300. #define DoLoadableServer NO
  301. #endif
  302. #ifndef MakeDllModules
  303. #define MakeDllModules NO
  304. #endif
  305. #ifndef StripInstalledPrograms
  306. #define StripInstalledPrograms NO    /* leave symbol table just in case */
  307. #endif
  308. #ifndef StaticNeedsPicForShared
  309. #define StaticNeedsPicForShared NO
  310. #endif
  311.  
  312. #include <Imake.rules>
  313.  
  314. #ifndef HasSharedLibraries
  315. #define HasSharedLibraries NO
  316. #endif
  317. #ifndef OSMajorVersion
  318. #define OSMajorVersion          0
  319. #endif
  320. #ifndef OSMinorVersion
  321. #define OSMinorVersion          0
  322. #endif
  323. #ifndef OSTeenyVersion
  324. #define OSTeenyVersion        0
  325. #endif
  326. #ifndef UnalignedReferencesAllowed
  327. #define UnalignedReferencesAllowed NO    /* if arbitrary deref is okay */
  328. #endif
  329. #ifndef AvoidNullMakeCommand
  330. #if !HasBsdMake
  331. #define AvoidNullMakeCommand NO
  332. #else
  333. #define AvoidNullMakeCommand YES
  334. #endif
  335. #endif
  336. #if AvoidNullMakeCommand
  337. #ifndef NullMakeCommand
  338. #define NullMakeCommand        @ echo -n
  339. #endif
  340. /*
  341.  * An obscure bug in BSD4.3's original make causes it not to recognize a
  342.  * macro definition if the macro name starts with a non-alpha and in
  343.  * column one.
  344.  */
  345.  _NULLCMD_ = NullMakeCommand
  346. #endif
  347.  
  348. #ifndef CrossCompiling
  349. #define CrossCompiling        NO
  350. #undef  CrossCompileDir
  351. #endif
  352. #ifndef BourneShell            /* to force shell in makefile */
  353. #define BourneShell        /bin/sh
  354. #endif
  355. #ifndef ConstructMFLAGS
  356. #if SystemV
  357. #define ConstructMFLAGS        YES    /* build MFLAGS from MAKEFLAGS */
  358. #else
  359. #define ConstructMFLAGS        NO    /* build MFLAGS from MAKEFLAGS */
  360. #endif
  361. #endif
  362.  
  363. #ifndef ConstructMAKEFLAGS        /* needed on old BSD-based? */
  364. #define ConstructMAKEFLAGS    NO    /* build MAKEFLAGS from MFLAGS */
  365. #endif
  366.  
  367. #ifndef HasLargeTmp
  368. #define HasLargeTmp        NO    /* be paranoid */
  369. #endif
  370.  
  371. #ifndef HasMotif
  372. #define HasMotif        NO
  373. #endif
  374. #ifndef HasMotif2
  375. #define HasMotif2        NO      /* only if system has working Motif2 or OpenMotif */
  376. #endif
  377. #ifndef HasBSDAuth
  378. #define HasBSDAuth        NO
  379. #endif
  380.  
  381. #ifndef HasBSD44Sockets
  382. #define HasBSD44Sockets        NO
  383. #endif
  384. #ifndef HasSockets
  385. #define HasSockets        YES
  386. #endif
  387. #ifndef HasStreams
  388. #define HasStreams        !HasSockets
  389. #endif
  390. #ifndef HasDECnet
  391. #define HasDECnet        NO
  392. #endif
  393. #ifndef HasPoll
  394. #if SystemV || SystemV4
  395. #define HasPoll            YES
  396. #else
  397. #define HasPoll            NO
  398. #endif
  399. #endif
  400. #ifndef HasVFork
  401. #if SystemV
  402. #define HasVFork        NO    /* not yet... */
  403. #else
  404. #define HasVFork        YES
  405. #endif
  406. #endif
  407. #ifndef HasSetProcTitle
  408. #define HasSetProcTitle        NO
  409. #endif
  410. #ifndef HasSetUserContext
  411. #define HasSetUserContext    NO
  412. #endif
  413. #ifndef HasLibCrypt
  414. #define HasLibCrypt        NO
  415. #endif
  416. #ifndef HasPutenv
  417. #define HasPutenv        NO    /* assume not */
  418. #endif
  419. /* setenv(3) and unsetenv(3) */
  420. #ifndef HasSetenv
  421. #define HasSetenv        YES    /* assume yes */
  422. #endif
  423. #ifndef HasVoidSignalReturn
  424. #define HasVoidSignalReturn    YES    /* assume yes */
  425. #endif
  426. #ifndef HasBsearch
  427. #define HasBsearch        YES    /* assume yes */
  428. #endif
  429. #ifndef HasSnprintf
  430. #define HasSnprintf        NO    /* assume not */
  431. #endif
  432. #ifndef HasStrlcat
  433. #define HasStrlcat        NO    /* assume not */
  434. #endif
  435. #ifndef HasDlopen
  436. #define HasDlopen        NO    /* assume not */
  437. #endif
  438. #ifndef HasWeakSymbols
  439. #define HasWeakSymbols        NO    /* assume not */
  440. #endif
  441. #ifndef HasIssetugid
  442. #define HasIssetugid        NO    /* assume not */
  443. #endif
  444. #ifndef HasGetresuid
  445. #define HasGetresuid        NO    /* assume not */
  446. #endif
  447. #ifndef HasMkstemp
  448. #define HasMkstemp        NO    /* assume not */
  449. #endif
  450. #ifndef HasUsableFileMmap
  451. #define HasUsableFileMmap    NO    /* assume not */
  452. #endif
  453. #ifndef HasGetIfAddrs
  454. #define HasGetIfAddrs        NO    /* assume not */
  455. #endif
  456. #ifndef HasStickyDirBit
  457. #define HasStickyDirBit        YES
  458. #endif
  459. #ifndef HasFchown
  460. #define HasFchown        YES
  461. #endif
  462. #ifndef HasPam
  463. #define HasPam            NO
  464. #endif
  465. #ifndef HasPamMisc
  466. #define HasPamMisc        NO
  467. #endif
  468. #ifndef HasGetpeereid
  469. #define HasGetpeereid        NO
  470. #endif
  471. #ifndef HasGetpeerucred
  472. #define HasGetpeerucred        NO
  473. #endif
  474. #ifndef NoStrstr
  475. #define NoStrstr        NO
  476. #endif
  477. #ifndef HasShadowPasswd
  478. #define HasShadowPasswd        NO
  479. #endif
  480. #ifndef HasBasename
  481. #define HasBasename        YES
  482. #endif
  483. /* byte-order defaults */
  484. #ifndef ByteOrder
  485. #if defined(VaxArchitecture)
  486. #define ByteOrder        X_LITTLE_ENDIAN
  487. #elif defined(MipsArchitecture) && defined(MipselArchitecture)
  488. #define ByteOrder        X_LITTLE_ENDIAN
  489. #elif defined(MipsArchitecture)
  490. #define ByteOrder        X_BIG_ENDIAN
  491. #elif defined(i386Architecture)
  492. #define ByteOrder        X_LITTLE_ENDIAN
  493. #elif defined(ia64Architecture)
  494. #define ByteOrder        X_LITTLE_ENDIAN
  495. #elif defined(AMD64Architecture)
  496. #define ByteOrder        X_LITTLE_ENDIAN
  497. #elif defined(SparcArchitecture) || defined(Sparc64Architecture)
  498. #define ByteOrder        X_BIG_ENDIAN
  499. #elif defined(AlphaArchitecture)
  500. #define ByteOrder        X_LITTLE_ENDIAN
  501. #elif defined(Mc68000Architecture)
  502. #define ByteOrder        X_BIG_ENDIAN
  503. #elif defined(Mc68020Architecture)
  504. #define ByteOrder        X_BIG_ENDIAN
  505. #elif defined(Mc88000Architecture)
  506. #define ByteOrder        X_BIG_ENDIAN
  507. #elif defined(s390Architecture)
  508. #define ByteOrder        X_BIG_ENDIAN
  509. #elif defined(s390xArchitecture)
  510. #define ByteOrder        X_BIG_ENDIAN
  511. #elif defined(Arm32Architecture)
  512. #define ByteOrder        X_LITTLE_ENDIAN
  513. #elif defined(RsArchitecture)
  514. #define ByteOrder        X_BIG_ENDIAN
  515. #elif defined(PpcArchitecture) || defined(Ppc64Architecture)
  516. #define ByteOrder        X_BIG_ENDIAN
  517. #elif defined(HPArchitecture)
  518. #define ByteOrder        X_BIG_ENDIAN
  519. #elif defined(SuperHArchitecture)
  520. #define ByteOrder        X_LITTLE_ENDIAN
  521. #elif defined(SuperHebArchitecture)
  522. #define ByteOrder        X_BIG_ENDIAN
  523. #endif
  524. #endif /* ByteOrder */
  525. X_BYTE_ORDER = ByteOrder
  526.  
  527. #ifndef HasFortran
  528. #define HasFortran        NO
  529. #endif
  530. #ifndef HasGcc2ForCplusplus
  531. #define HasGcc2ForCplusplus    NO
  532. #endif
  533. #ifndef HasCplusplus
  534. #if HasGcc2ForCplusplus
  535. #define HasCplusplus        YES
  536. #else
  537. #define HasCplusplus        NO
  538. #endif
  539. #endif
  540. #ifndef HasMktemp
  541. #define HasMktemp        NO    /* if you have the mktemp command */
  542. #endif
  543. #ifndef HasNdbm
  544. #define HasNdbm            NO
  545. #endif
  546. #ifndef HasSecureRPC
  547. #define HasSecureRPC        NO    /* if you have Secure RPC */
  548. #endif
  549. #ifndef HasKrbIV
  550. #define HasKrbIV        NO    /* if you have Kerberos IV */
  551. #endif
  552. #ifndef HasKrb5
  553. #define HasKrb5            NO      /* if you have Kerberos V5 */
  554. #endif
  555. #ifndef HasLatex
  556. #define HasLatex        NO
  557. #endif
  558. #ifndef HasShm
  559. #if SystemV || SystemV4
  560. #define HasShm            YES
  561. #else
  562. #define HasShm            NO
  563. #endif
  564. #endif
  565. #ifndef HasCbrt
  566. #define HasCbrt            YES
  567. #endif
  568. #ifndef HasFfs
  569. #define HasFfs            YES
  570. #endif
  571. #ifndef HasZlib
  572. #define HasZlib            NO
  573. #endif
  574. #ifndef OsNeedZlibHeaders
  575. #define OsNeedZlibHeaders    !HasZlib
  576. #endif
  577. #if !HasZlib        /* if OS doesn't have it, we'll build it */
  578. #undef GzipLibrary    /* GzipLibrary was valid only if HasZlib */
  579. #endif
  580. #ifndef GzipLibrary    /* if OS config didn't define it, assume it's -lz */
  581. #define GzipLibrary -lz
  582. #endif
  583. /* If the system has the Freetype2 library */
  584. #ifndef HasFreetype2
  585. #define HasFreetype2        NO
  586. #endif
  587. /* If the system has the Fontconfig library */
  588. #ifndef HasFontconfig
  589. #define HasFontconfig        NO
  590. #endif
  591. #ifndef HasLibpng
  592. #define HasLibpng        NO
  593. #endif
  594. #if HasKrbIV
  595. #ifndef KrbIVIncludes
  596. #define KrbIVIncludes /**/
  597. #endif
  598. #ifndef KrbIVLibraries
  599. #define KrbIVLibraries -lkrb -ldes
  600. #endif
  601. #endif
  602. #if HasKrb5
  603. #ifndef Krb5Includes
  604. #define Krb5Includes -I/krb5/include
  605. #endif
  606. #ifndef Krb5Libraries
  607. #define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm
  608. #endif
  609. #else
  610. #undef Krb5Includes
  611. #define Krb5Includes /**/
  612. #undef Krb5Libraries
  613. #define Krb5Libraries /**/
  614. #endif
  615. #ifndef UseGnuMalloc
  616. #define UseGnuMalloc        NO
  617. #endif
  618. #ifndef GnuMallocLibrary
  619. #define GnuMallocLibrary -lgmalloc
  620. #endif
  621. #ifndef MallocLibraries
  622. #if UseGnuMalloc
  623. #define MallocLibraries    GnuMallocLibrary
  624. #else
  625. #define MallocLibraries    /**/
  626. #endif
  627. #endif
  628. #ifndef HasPosixRegex        /* Most modern platforms have it */
  629. #define HasPosixRegex        YES
  630. #endif
  631. #ifndef RegexLibrary
  632. #if HasPosixRegex
  633. #define RegexLibrary        /**/
  634. #else
  635. #define RegexLibrary        -lregex
  636. #endif
  637. #endif
  638. #ifndef HasNCurses
  639. #define HasNCurses        NO
  640. #endif
  641. #ifndef NCursesLibName
  642. #if HasNCurses
  643. #define NCursesLibName    -lncurses
  644. #else
  645. #define NCursesLibName
  646. #endif
  647. #endif
  648. #ifdef NCursesLibDir
  649. NCURSESLIBDIR = NCursesLibDir
  650. #endif
  651. #ifdef NCursesIncDir
  652. NCURSESINCDIR = NCursesIncDir
  653. #endif
  654. #ifndef HasGlide2
  655. #define HasGlide2 NO
  656. #endif
  657. #ifndef Glide2IncDir
  658. #if HasGlide2
  659. #define Glide2IncDir /usr/include/glide
  660. #else
  661. #define Glide2IncDir
  662. #endif
  663. #endif
  664. GLIDE2INCDIR = Glide2IncDir
  665. #ifndef HasGlide3
  666. #define HasGlide3 NO
  667. #endif
  668. #ifndef Glide3IncDir
  669. #if HasGlide3
  670. #define Glide3IncDir /usr/include/glide3
  671. #else
  672. #define Glide3IncDir
  673. #endif
  674. #endif
  675. GLIDE3INCDIR = Glide3IncDir
  676. #ifndef Glide3LibName
  677. #if HasGlide3
  678. #define Glide3LibName glide3
  679. #else
  680. #define Glide3LibName
  681. #endif
  682. #endif
  683. GLIDE3LIBNAME = Glide3LibName
  684. #ifndef HasTk
  685. #define HasTk NO
  686. #endif
  687. #ifndef TkLibName
  688. #if HasTk
  689. #define TkLibName tk
  690. #else
  691. #define TkLibName
  692. #endif
  693. #endif
  694. TKLIBNAME = TkLibName
  695. #ifndef TkLibDir
  696. #if HasTk
  697. #define TkLibDir /usr/local/lib
  698. #else
  699. #define TkLibDir
  700. #endif
  701. #endif
  702. TKLIBDIR = TkLibDir
  703. #ifndef TkIncDir
  704. #if HasTk
  705. #define TkIncDir /usr/local/include
  706. #else
  707. #define TkIncDir
  708. #endif
  709. #endif
  710. #ifndef TkLibrary
  711. #ifdef HasTk
  712. #define TkLibrary Concat(-L,$(TKLIBDIR)) Concat(-l,$(TKLIBNAME))
  713. #else
  714. #define TkLibrary
  715. #endif
  716. #endif
  717. #ifndef HasTcl
  718. #define HasTcl NO
  719. #endif
  720. #ifndef TclLibName
  721. #if HasTcl
  722. #define TclLibName tcl
  723. #else
  724. #define TclLibName
  725. #endif
  726. #endif
  727. TCLLIBNAME = TclLibName
  728. #ifndef TclLibDir
  729. #if HasTcl
  730. #define TclLibDir /usr/local/lib
  731. #else
  732. #define TclLibDir
  733. #endif
  734. #endif
  735. TCLIBDIR = TclLibDir
  736. #ifndef TclIncDir
  737. #if HasTcl
  738. #define TclIncDir /usr/local/include
  739. #else
  740. #define TclIncDir
  741. #endif
  742. #endif
  743. #ifndef TclLibrary
  744. #ifdef HasTcl
  745. #define TclLibrary Concat(-L,$(TCLLIBDIR)) Concat(-l,$(TCLLIBNAME))
  746. #else
  747. #define TclLibrary
  748. #endif
  749. #endif
  750. #ifndef HasTsLib
  751. #define HasTsLib NO
  752. #endif
  753. /*
  754.  * Libtool has two different behaviours for version numbers.
  755.  * On platforms which support a minor number, the library
  756.  * version is (version - minor).minor, on those that don't,
  757.  * the version if version.0.  Linux and Darwin support minor
  758.  * numbers; some BSDs do as well.  Set this to YES if libtool
  759.  * uses minor numbers on your platform.
  760.  */
  761. #ifndef LibtoolMinorVersions
  762. #define LibtoolMinorVersions    NO
  763. #endif
  764. #ifndef NeedConstPrototypes
  765. #define NeedConstPrototypes    NO
  766. #endif
  767. #ifndef NeedVarargsPrototypes
  768. #define NeedVarargsPrototypes    NO
  769. #endif
  770. #ifndef NeedNestedPrototypes
  771. #define NeedNestedPrototypes    NO
  772. #endif
  773. #ifndef NeedFunctionPrototypes
  774. #define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
  775. #endif
  776. #ifndef NeedWidePrototypes
  777. #define NeedWidePrototypes    YES    /* mix and match ANSI-C, non-ANSI */
  778. #endif
  779.  
  780. #ifndef UseCCMakeDepend            /* use slow cc -E script */
  781. #define UseCCMakeDepend NO
  782. #endif
  783. #ifndef UseGccMakeDepend        /* use slowish but correct gcc -M */
  784. #define UseGccMakeDepend NO
  785. #endif
  786.  
  787. #ifndef CaseSensitiveFileSystem
  788. #define CaseSensitiveFileSystem YES
  789. #endif
  790.  
  791. /* DefaultUsrBin is independent of ProjectRoot.
  792.    This is a directory where programs will be found even if PATH
  793.    is not set, for example when coming in remotely via rsh. */
  794. #ifndef DefaultUsrBin
  795. #define    DefaultUsrBin /usr/bin
  796. #endif
  797.  
  798. #ifndef LibDirName
  799. # define LibDirName lib
  800. #endif
  801.  
  802. #ifndef UsrLibDir
  803. #ifdef ProjectRoot
  804. #define UsrLibDir Concat3(ProjectRoot,/,LibDirName)
  805. #ifndef AlternateUsrLibDir
  806. #define AlternateUsrLibDir YES
  807. #endif
  808. #else
  809. #define UsrLibDir Concat3(/usr,/,LibDirName)
  810. #ifndef AlternateUsrLibDir
  811. #define AlternateUsrLibDir NO
  812. #endif
  813. #endif
  814. #else
  815. #ifndef AlternateUsrLibDir
  816. #define AlternateUsrLibDir YES
  817. #endif
  818. #endif
  819. #ifndef VarDirectory
  820. #ifdef ProjectVar
  821. #define VarDirectory ProjectVar
  822. #else
  823. #define VarDirectory /var
  824. #endif
  825. #endif
  826. #ifndef VarLibDir
  827. #define VarLibDir $(VARDIR)/lib
  828. #endif
  829.  
  830. /*
  831.  * SystemUsrLibDir is independent of ProjectRoot.  It is used primarily
  832.  * to allow links for shared libraries in /usr/lib for compliance to
  833.  * various standards (e.g., Linux/OpenGL).
  834.  */
  835. #ifndef SystemUsrLibDir
  836. #define SystemUsrLibDir /usr/LibDirName
  837. #endif
  838. #ifndef SystemUsrIncDir
  839. #define SystemUsrIncDir /usr/include
  840. #endif
  841.  
  842. #ifndef ShLibDir
  843. #define ShLibDir UsrLibDir
  844. #endif
  845. #ifndef IncRoot
  846. #ifdef ProjectRoot
  847. #define IncRoot Concat(ProjectRoot,/include)
  848. #ifndef AlternateIncRoot
  849. #define AlternateIncRoot YES
  850. #endif
  851. #else
  852. #define IncRoot /usr/include
  853. #ifndef AlternateIncRoot
  854. #define AlternateIncRoot NO
  855. #endif
  856. #endif
  857. #else
  858. #ifndef AlternateIncRoot
  859. #define AlternateIncRoot YES
  860. #endif
  861. #endif
  862. #ifndef LintlibDir
  863. #define LintlibDir $(USRLIBDIR)/lint
  864. #endif
  865. #ifndef SystemManDirectory
  866. #if SystemV4
  867. #define SystemManDirectory /usr/share/man
  868. #else
  869. #define SystemManDirectory /usr/man
  870. #endif
  871. #endif
  872. #ifndef ManDirectoryRoot
  873. #ifdef ProjectRoot
  874. #define ManDirectoryRoot Concat(ProjectRoot,/man)
  875. #else
  876. #define ManDirectoryRoot SystemManDirectory
  877. #endif
  878. #endif
  879. #ifndef ManPath
  880. #define ManPath ManDirectoryRoot
  881. #endif
  882. #ifndef ManSourcePath
  883. #define ManSourcePath $(MANPATH)/man
  884. #endif
  885. #ifndef ManDir
  886. #define ManDir $(MANSOURCEPATH)$(MANSUFFIX)
  887. #endif
  888. #ifndef LibmanDir
  889. #define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX)
  890. #endif
  891. #ifndef FileManDir
  892. #define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX)
  893. #endif
  894. #ifndef MiscManDir
  895. #define MiscManDir $(MANSOURCEPATH)$(MISCMANSUFFIX)
  896. #endif
  897. #ifndef DriverManDir
  898. #define DriverManDir $(MANSOURCEPATH)$(DRIVERMANSUFFIX)
  899. #endif
  900. #ifndef AppLoadDefs
  901. #define AppLoadDefs -D__apploaddir__=$(XAPPLOADDIR)
  902. #endif
  903. #ifndef AppManDefs
  904. #define AppManDefs -D__appmansuffix__=$(MANSUFFIX)
  905. #endif
  906. #ifndef LibManDefs
  907. #define LibManDefs -D__libmansuffix__=$(LIBMANSUFFIX)
  908. #endif
  909. #ifndef FileManDefs
  910. #define FileManDefs -D__filemansuffix__=$(FILEMANSUFFIX)
  911. #endif
  912. #ifndef MiscManDefs
  913. #define MiscManDefs -D__miscmansuffix__=$(MISCMANSUFFIX)
  914. #endif
  915. #ifndef DriverManDefs
  916. #define DriverManDefs -D__drivermansuffix__=$(DRIVERMANSUFFIX)
  917. #endif
  918. #ifndef AdminManDefs
  919. #define AdminManDefs -D__adminmansuffix__=$(ADMINMANSUFFIX)
  920. #endif
  921. #ifndef ProjectManDefs
  922. #define ProjectManDefs -D__projectroot__=$(PROJECTROOT)
  923. #endif
  924. #ifndef XConfigFileManDefs
  925. #define XConfigFileManDefs -D__xconfigfile__=$(XCONFIGFILE)
  926. #endif
  927. #ifndef XConfigDirManDefs
  928. #define XConfigDirManDefs -D__xconfigdir__=$(XCONFIGDIR)
  929. #endif
  930. #ifndef XLogFileManDefs
  931. #define XLogFileManDefs -D__xlogfile__=$(XLOGFILE)
  932. #endif
  933. #ifndef XServerManDefs
  934. #define XServerManDefs -D__xservername__=$(XSERVERNAME)
  935. #endif
  936.  
  937. #ifndef CompressManCmd
  938. #define CompressManCmd gzip -n
  939. #endif
  940.  
  941. #ifndef HtmlIndexCmd
  942. #if BuildHtmlManPages
  943. #define HtmlIndexCmd $(MKHTMLINDEX)
  944. #endif
  945. #endif
  946.  
  947. #ifndef IconDir
  948. # if NothingOutsideProjectRoot != YES
  949. #  define IconDir       /usr/share/cursors/xorg-x11
  950. #  ifndef XcursorPath
  951. #   define XcursorPath "~/.cursors:~/.icons:/usr/local/share/cursors/xorg-x11:/usr/share/cursors/xorg-x11:/usr/share/pixmaps/xorg-x11"
  952. #  endif
  953. # else
  954. #  define IconDir       Concat(ProjectRoot,/lib/X11/icons)
  955. # endif
  956. #endif
  957.  
  958. #ifndef XcursorPath
  959. # define XcursorPath Concat(~/.cursors:~/.icons:/usr/local/share/cursors/xorg-x11:/usr/share/cursors/xorg-x11:/usr/share/pixmaps/xorg-x11:,IconDir)
  960. #endif
  961.  
  962. #ifndef LogDirectory
  963. #if HasVarDirectory
  964. #define LogDirectory $(VARDIR)/log
  965. #else
  966. #define LogDirectory /usr/adm
  967. #endif
  968. #endif
  969.  
  970. #ifndef HasVarRun
  971. #define HasVarRun NO
  972. #endif
  973.  
  974. #ifndef VarRunDirectory
  975. #if HasVarRun
  976. #define VarRunDirectory $(VARDIR)/run
  977. #endif
  978. #endif
  979.  
  980. #ifndef HasVarDb
  981. #define HasVarDb NO
  982. #endif
  983.  
  984. #ifndef VarDbDirectory
  985. #if HasVarDb
  986. #define VarDbDirectory $(VARDIR)/db
  987. #endif
  988. #endif
  989.  
  990. #ifndef ConfigSrc
  991. #define ConfigSrc $(TOP)/config
  992. #endif
  993. #ifndef DependDir
  994. #if UseCCMakeDepend || UseGccMakeDepend
  995. #define DependDir $(CONFIGSRC)/util
  996. #else
  997. #define DependDir $(CONFIGSRC)/makedepend
  998. #endif
  999. #endif
  1000. #ifndef UNCOMPRESSPATH
  1001. #define UNCOMPRESSPATH /usr/ucb/uncompress /* obsolete */
  1002. #endif
  1003. #ifndef OptimizedCDebugFlags
  1004. #define OptimizedCDebugFlags -O
  1005. #endif
  1006. #ifndef OptimizedCplusplusDebugFlags
  1007. #define OptimizedCplusplusDebugFlags OptimizedCDebugFlags
  1008. #endif
  1009. #ifndef DebuggableCDebugFlags
  1010. #define DebuggableCDebugFlags -g
  1011. #endif
  1012. #ifndef DebuggableCplusplusDebugFlags
  1013. #define DebuggableCplusplusDebugFlags DebuggableCDebugFlags
  1014. #endif
  1015. #ifndef ProfiledCDebugFlags
  1016. #define ProfiledCDebugFlags -pg
  1017. #endif
  1018. #ifndef ProfiledCplusplusDebugFlags
  1019. #define ProfiledCplusplusDebugFlags ProfiledCDebugFlags
  1020. #endif
  1021. #ifndef NoOpCDebugFlags
  1022. #define NoOpCDebugFlags /**/
  1023. #endif
  1024. #ifndef DefaultCDebugFlags
  1025. #define DefaultCDebugFlags OptimizedCDebugFlags
  1026. #endif
  1027. #ifndef DefaultCplusplusDebugFlags
  1028. #define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags
  1029. #endif
  1030. #ifndef DefaultCCOptions
  1031. #define DefaultCCOptions /* floating point, etc. */
  1032. #endif
  1033. #ifndef DefaultCplusplusOptions
  1034. #define DefaultCplusplusOptions /* floating point, etc. */
  1035. #endif
  1036. #ifndef HardCodeLibdirFlag
  1037. #define HardCodeLibdirFlag    /**/
  1038. #endif
  1039. #ifndef NoRConst
  1040. #define NoRConst NO /* YES if const for structs of funcs is bad */
  1041. #endif
  1042. #ifndef InstPgmFlags
  1043. # ifdef CrossCompiling
  1044. #  define InstPgmFlags
  1045. # else
  1046. #  define InstPgmFlags -s
  1047. # endif
  1048. #endif
  1049. #ifndef InstBinFlags
  1050. #define InstBinFlags -m 0755
  1051. #endif
  1052. #ifndef InstUidFlags
  1053. #define InstUidFlags -m 4711
  1054. #endif
  1055. #ifndef InstLibFlags
  1056. #define InstLibFlags -m 0644
  1057. #endif
  1058. #ifndef InstIncFlags
  1059. #define InstIncFlags -m 0444
  1060. #endif
  1061. #ifndef InstManFlags
  1062. #define InstManFlags -m 0444
  1063. #endif
  1064. #ifndef InstDatFlags
  1065. #define InstDatFlags -m 0444
  1066. #endif
  1067. #ifndef InstKmemFlags     /* put -g kmem -m 2711 in site.def... */
  1068. #define InstKmemFlags InstUidFlags
  1069. #endif
  1070. #ifndef ParallelMakeFlags
  1071. #define ParallelMakeFlags /**/
  1072. #endif
  1073. #ifndef ArCmdBase
  1074. #define ArCmdBase ar
  1075. #endif
  1076. #ifndef ArCmd
  1077. #if HasLargeTmp || SystemV4
  1078. #define ArCmd ArCmdBase cq
  1079. #else
  1080. #define ArCmd ArCmdBase clq
  1081. #endif
  1082. #endif
  1083. #ifndef ArAddCmd
  1084. #if HasLargeTmp || SystemV4
  1085. #define ArAddCmd ArCmdBase ru
  1086. #else
  1087. #define ArAddCmd ArCmdBase rul
  1088. #endif
  1089. #endif
  1090. #ifndef ArExtCmd
  1091. #if HasLargeTmp || SystemV4
  1092. #define ArExtCmd ArCmdBase x
  1093. #else
  1094. #define ArExtCmd ArCmdBase xl
  1095. #endif
  1096. #endif
  1097. #ifndef BootstrapCFlags
  1098. #define BootstrapCFlags /**/
  1099. #endif
  1100. #ifndef HasGcc3
  1101. #define HasGcc3 NO
  1102. #endif
  1103. #ifndef HasGcc2
  1104. #define HasGcc2 HasGcc3
  1105. #endif
  1106. #ifndef HasGcc
  1107. #define HasGcc HasGcc2
  1108. #endif
  1109. #ifndef HasBrokenCCForLink
  1110. #define HasBrokenCCForLink NO
  1111. #endif
  1112. #ifndef CcCmd
  1113. #if HasGcc2
  1114. #define CcCmd gcc -fpcc-struct-return
  1115. #else
  1116. #if HasGcc
  1117. #define CcCmd gcc -fstrength-reduce -fpcc-struct-return
  1118. #else
  1119. #if HasCenterLineC
  1120. #define CcCmd clcc
  1121. #else
  1122. #define CcCmd cc
  1123. #endif
  1124. #endif
  1125. #endif
  1126. #endif
  1127. #ifndef CplusplusCmd
  1128. #if HasGcc2ForCplusplus
  1129. #define CplusplusCmd g++
  1130. #else
  1131. #define CplusplusCmd CC
  1132. #endif
  1133. #endif
  1134. #ifndef CplusplusFilt
  1135. # define CplusplusFilt    c++filt
  1136. #endif
  1137. #ifndef CplusplusLibC
  1138. #if HasGcc2ForCplusplus
  1139. #define CplusplusLibC    -lstdc++
  1140. #else
  1141. #define CplusplusLibC /**/
  1142. #endif
  1143. #endif
  1144. #ifndef CplusplusStandardDefines
  1145. #define CplusplusStandardDefines StandardDefines
  1146. #endif
  1147. #ifndef CplusplusExtraDefines
  1148. #define CplusplusExtraDefines /**/
  1149. #endif
  1150. #ifndef CplusplusExtraIncludes
  1151. #define CplusplusExtraIncludes /**/
  1152. #endif
  1153. #ifndef CplusplusDependIncludes
  1154. #define CplusplusDependIncludes /**/
  1155. #endif
  1156. #ifndef CplusplusOptions
  1157. #define CplusplusOptions DefaultCplusplusOptions
  1158. #endif
  1159. #ifndef CplusplusSpecialOptions
  1160. #define CplusplusSpecialOptions /**/
  1161. #endif
  1162. #if HasFortran
  1163. #ifndef FortranCmd
  1164. #define FortranCmd f77
  1165. #endif
  1166. #ifndef FortranFlags
  1167. #define FortranFlags /**/
  1168. #endif
  1169. #ifndef FortranDebugFlags    /* for -O or -g */
  1170. #define FortranDebugFlags /**/
  1171. #endif
  1172. #endif
  1173. #ifndef AsCmd
  1174. #define AsCmd as
  1175. #endif
  1176. #ifndef AsmDefines
  1177. #define AsmDefines /**/
  1178. #endif
  1179. #ifndef CompressCmd
  1180. #define CompressCmd compress
  1181. #endif
  1182. #ifndef GzipCmd
  1183. #define GzipCmd gzip
  1184. #endif
  1185. #ifndef CppCmd
  1186. #define CppCmd /LibDirName/cpp
  1187. #endif
  1188. #ifndef RawCppCmd
  1189. #define RawCppCmd CppCmd
  1190. #endif
  1191. #ifndef CppNoLineInfoOption
  1192. #define CppNoLineInfoOption /**/
  1193. #endif
  1194. #ifndef PreProcessCmd
  1195. #define PreProcessCmd CcCmd -E
  1196. #endif
  1197. #ifndef InstallCmd        /* hack should be in project */
  1198. #if SystemV || SystemV4
  1199. #ifdef UseInstalled        /* assume BINDIR in path */
  1200. #define InstallCmd bsdinst
  1201. #else
  1202. #define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh
  1203. #endif
  1204. #else
  1205. #define InstallCmd install
  1206. #endif
  1207. #endif
  1208. #ifndef InstallFlags
  1209. #define InstallFlags -c
  1210. #endif
  1211. #ifndef StripCmd
  1212. #define StripCmd strip
  1213. #endif
  1214. #ifndef LdCmd
  1215. #define LdCmd ld
  1216. #endif
  1217. #ifndef M4Cmd
  1218. #define M4Cmd m4
  1219. #endif
  1220. #ifndef M4Flags
  1221. #define M4Flags /**/
  1222. #endif
  1223. #ifndef LexCmd
  1224. #define LexCmd lex
  1225. #endif
  1226. #ifndef LexLib
  1227. #define LexLib -ll
  1228. #endif
  1229. #ifndef HasFlex
  1230. #define HasFlex NO
  1231. #endif
  1232. #ifndef YaccCmd
  1233. #define YaccCmd yacc
  1234. #endif
  1235. #ifndef CplusplusYaccCmd
  1236. #define CplusplusYaccCmd YaccCmd
  1237. #endif
  1238. #ifndef LintCmd
  1239. #define LintCmd lint
  1240. #endif
  1241. #ifndef LintLibFlag
  1242. #if SystemV || SystemV4
  1243. #define LintLibFlag -o
  1244. #else
  1245. #define LintLibFlag -C
  1246. #endif
  1247. #endif
  1248. #ifndef LintOpts
  1249. #if SystemV || SystemV4
  1250. #define LintOpts -bh
  1251. #else
  1252. #define LintOpts -axz
  1253. #endif
  1254. #endif
  1255. #ifndef CpCmd
  1256. #define CpCmd cp
  1257. #endif
  1258. #ifndef LnCmd /* can use cp instead of ln if necessary */
  1259. #if HasSymLinks
  1260. #define LnCmd ln -s
  1261. #else
  1262. #define LnCmd ln
  1263. #endif
  1264. #endif
  1265. #ifndef MakeCmd
  1266. #define MakeCmd make
  1267. #endif
  1268. #ifndef MvCmd
  1269. #define MvCmd mv -f
  1270. #endif
  1271. #ifndef RanlibCmd
  1272. #define RanlibCmd ranlib
  1273. #endif
  1274. #ifndef RanlibInstFlags
  1275. #define RanlibInstFlags /**/
  1276. #endif
  1277. #ifndef RmCmd
  1278. #define RmCmd rm -f
  1279. #endif
  1280.  
  1281. /*
  1282.  * Module cross-compile stuff.  By default they are defined to be exactly the
  1283.  * same as the non-module versions.
  1284.  */
  1285. #ifndef ModuleCcCmd
  1286. #define ModuleCcCmd CcCmd
  1287. #endif
  1288. #ifndef ModuleCppCmd
  1289. #define ModuleCppCmd CppCmd
  1290. #endif
  1291. #ifndef ModuleCFlags
  1292. #define ModuleCFlags $(CFLAGS)
  1293. #endif
  1294. #ifndef ModuleAsCmd
  1295. #define ModuleAsCmd AsCmd
  1296. #endif
  1297. #ifndef ModuleAsFlags
  1298. #define ModuleAsFlags /**/
  1299. #endif
  1300. #ifndef ModuleLdCmd
  1301. #define ModuleLdCmd LdCmd
  1302. #endif
  1303. #ifndef ModuleLdFlags
  1304. #define ModuleLdFlags /**/
  1305. #endif
  1306. #ifndef ModuleLdCombineFlags
  1307. #define ModuleLdCombineFlags LdCombineFlags
  1308. #endif
  1309. #ifndef ModuleArCmd
  1310. #define ModuleArCmd ArCmd
  1311. #endif
  1312. #ifndef NeedModuleRanlib
  1313. #define NeedModuleRanlib NO
  1314. #endif
  1315. #ifndef ModuleRanlibCmd
  1316. #define ModuleRanlibCmd RanlibCmd
  1317. #endif
  1318.  
  1319. #ifndef HostCcCmd
  1320. #define HostCcCmd cc
  1321. #endif
  1322. #ifndef StandardIncludes    /* for platform-specifics */
  1323. #define StandardIncludes /**/
  1324. #endif
  1325. #ifndef StandardDefines
  1326. #if SystemV
  1327. #define StandardDefines -DSYSV
  1328. #else
  1329. #if SystemV4
  1330. #define StandardDefines -DSVR4
  1331. #else
  1332. #define StandardDefines /**/
  1333. #endif
  1334. #endif
  1335. #endif
  1336. #ifndef StandardCppOptions
  1337. #define StandardCppOptions /**/
  1338. #endif
  1339. #ifndef StandardCppDefines
  1340. #define StandardCppDefines StandardCppOptions StandardDefines
  1341. #endif
  1342. #ifndef Malloc0ReturnsNull
  1343. #if UseGnuMalloc
  1344. #define Malloc0ReturnsNull YES
  1345. #else
  1346. #define Malloc0ReturnsNull NO
  1347. #endif
  1348. #endif
  1349. #if Malloc0ReturnsNull
  1350. #ifndef Malloc0ReturnsNullDefines
  1351. #define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL
  1352. #endif
  1353. #endif
  1354. #ifndef ToolkitStringsABIOptions
  1355. #define ToolkitStringsABIOptions /**/
  1356. #endif
  1357. #ifndef NdbmDefines
  1358. #if HasNdbm
  1359. #define NdbmDefines -DNDBM
  1360. #else
  1361. #define NdbmDefines /**/
  1362. #endif
  1363. #endif
  1364. #ifndef HasLdRunPath
  1365. #define HasLdRunPath NO
  1366. #endif
  1367. #ifndef LdPreLib
  1368. # if !defined(UseInstalled)
  1369. #  define LdPreLib -L$(BUILDLIBDIR)
  1370. # else
  1371. # if AlternateUsrLibDir
  1372. #  define LdPreLib -L$(USRLIBDIR)
  1373. # else
  1374. # define LdPreLib /**/
  1375. # endif
  1376. #endif
  1377. #endif
  1378. #ifndef LdPostLib
  1379. #if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath && !defined(CrossCompileDir)
  1380. #define LdPostLib -L$(USRLIBDIR)
  1381. #else
  1382. #define LdPostLib /**/
  1383. #endif
  1384. #endif
  1385. #ifndef MathLibrary
  1386. #define MathLibrary -lm
  1387. #endif
  1388. #ifndef DBMLibrary
  1389. #define DBMLibrary -ldbm
  1390. #endif
  1391. #ifndef DlLibrary
  1392. #define DlLibrary -ldl
  1393. #endif
  1394. #ifndef ExtraLibraries
  1395. #if SystemV4
  1396. #if HasSockets
  1397. #define ExtraLibraries -lsocket -lnsl -lw
  1398. #else
  1399. #define ExtraLibraries -lnsl -lw
  1400. #endif
  1401. #else
  1402. #define ExtraLibraries /**/
  1403. #endif
  1404. #endif
  1405. #ifndef ExtraLoadOptions
  1406. #define ExtraLoadOptions /**/
  1407. #endif
  1408. #ifndef ExtraLoadFlags
  1409. #define ExtraLoadFlags /**/
  1410. #endif
  1411. #ifndef LdCombineFlags
  1412. #if SystemV4
  1413. #define LdCombineFlags -r
  1414. #else
  1415. #define LdCombineFlags -X -r
  1416. #endif
  1417. #endif
  1418. #ifndef LdStripFlags
  1419. #define LdStripFlags -x
  1420. #endif
  1421. #ifndef TagsCmd
  1422. #define TagsCmd ctags
  1423. #endif
  1424. #ifndef LoaderLibPrefix
  1425. #define LoaderLibPrefix /**/
  1426. #endif
  1427. #ifndef ImakeCmd
  1428. #ifdef UseInstalled        /* assume BINDIR in path */
  1429. #define ImakeCmd imake
  1430. #else
  1431. #define ImakeCmd $(IMAKESRC)/imake
  1432. #endif
  1433. #endif
  1434. #ifndef ImakeWarningFlags
  1435. #define ImakeWarningFlags    /* Nothing */
  1436. #endif
  1437. #ifndef DependCmd
  1438. #if UseGccMakeDepend
  1439. #ifdef UseInstalled        /* assume BINDIR in path */
  1440. #define DependCmd gccmakedep
  1441. #else
  1442. #define DependCmd $(DEPENDSRC)/gccmakedep
  1443. #endif
  1444. #elif UseCCMakeDepend
  1445. #ifdef UseInstalled        /* assume BINDIR in path */
  1446. #define DependCmd ccmakedep
  1447. #else
  1448. #define DependCmd $(DEPENDSRC)/ccmakedep
  1449. #endif
  1450. #else
  1451. #ifdef UseInstalled        /* assume BINDIR in path */
  1452. #define DependCmd makedepend
  1453. #else
  1454. #define DependCmd $(DEPENDSRC)/makedepend
  1455. #endif
  1456. #endif
  1457. #endif
  1458. #ifndef DependDefines
  1459. # if UseCCMakeDepend || UseGccMakeDepend
  1460. #  define DependDefines /**/
  1461. # else
  1462. #  define DependDefines -DUSE_MAKEDEPEND
  1463. # endif
  1464. #endif
  1465. #ifndef DependFlags
  1466. #define DependFlags /**/
  1467. #endif
  1468. #ifndef DependFileName
  1469. #if !HasBsdMake
  1470. #define DependFileName Makefile.dep
  1471. #else
  1472. #define DependFileName .depend
  1473. #endif
  1474. #endif
  1475. #ifndef ExportListCmd
  1476. # ifndef ExportListGenSource
  1477. #  define ExportListCmd        /**/
  1478. # elif !defined(UseInstalled)
  1479. #  define ExportListCmd        $(CONFIGSRC)/util/exportlistgen
  1480. # else
  1481. #  define ExportListCmd        exportlistgen
  1482. # endif
  1483. #endif
  1484. #ifndef MkdirHierCmd
  1485. #ifdef UseInstalled        /* assume BINDIR in path */
  1486. #define MkdirHierCmd mkdirhier
  1487. #else
  1488. #define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh
  1489. #endif
  1490. #endif
  1491. #ifndef RevPathCmd
  1492. #ifdef UseInstalled        /* assume BINDIR in path */
  1493. #define RevPathCmd revpath
  1494. #else
  1495. #define RevPathCmd $(CONFIGSRC)/util/revpath
  1496. #endif
  1497. #endif
  1498. #ifndef TroffCmd
  1499. #if HasGroff
  1500. #define TroffCmd groff -Tps
  1501. #else
  1502. #define TroffCmd troff -Tps
  1503. #endif
  1504. #endif
  1505. #ifndef NroffCmd
  1506. #define NroffCmd nroff
  1507. #endif
  1508. #ifndef HTMLroffCmd
  1509. #if HasGroff && HasGroffHtml
  1510. #define HTMLroffCmd groff -Thtml
  1511. #endif
  1512. #endif
  1513. #ifdef HTMLroffCmd
  1514. #ifndef DocFilesToClean
  1515. #define DocFilesToClean grohtml*.png *-auto-*.png
  1516. #endif
  1517. #endif
  1518. #ifndef MsMacros
  1519. #define MsMacros -ms
  1520. #endif
  1521. #ifndef ManMacros
  1522. #define ManMacros -man
  1523. #endif
  1524. #ifndef TblCmd
  1525. #define TblCmd tbl
  1526. #endif
  1527. #ifndef EqnCmd
  1528. #define EqnCmd eqn
  1529. #endif
  1530. #ifndef NeqnCmd
  1531. #define NeqnCmd neqn
  1532. #endif
  1533. #ifndef ColCmd
  1534. #define ColCmd col
  1535. #endif
  1536. #ifndef ColFlags
  1537. #define ColFlags -b
  1538. #endif
  1539. #ifndef DvipsCmd
  1540. #define DvipsCmd dvips
  1541. #endif
  1542. #ifndef LatexCmd
  1543. #define LatexCmd latex
  1544. #endif
  1545. #ifndef HasPdfLatex
  1546. #define HasPdfLatex NO
  1547. #endif
  1548. #ifndef PdfLatexCmd
  1549. #define PdfLatexCmd pdflatex
  1550. #endif
  1551. #ifndef GhostScriptCmd
  1552. #define GhostScriptCmd gs
  1553. #endif
  1554. #ifndef HasGhostPCL
  1555. #define HasGhostPCL NO
  1556. #endif
  1557. #ifndef HasGhostScript
  1558. #define HasGhostScript NO
  1559. #endif
  1560. #ifndef BuildPDFdocs
  1561. #define BuildPDFdocs (HasGhostScript)
  1562. #endif
  1563. #if BuildPDFdocs
  1564. #define PsToPdfCmd GhostScriptCmd -q -sOutputFile=- -sDEVICE=pdfwrite -dSAFER -dNOPAUSE -
  1565. #endif
  1566. #if HasSentinel
  1567. #ifndef SentinelCmd
  1568. #define SentinelCmd sentinel
  1569. #endif
  1570. #ifndef SentinelOptions
  1571. #define SentinelOptions /**/
  1572. #endif
  1573. #endif
  1574. #if HasPurify
  1575. #ifndef PurifyCmd
  1576. #define PurifyCmd purify
  1577. #endif
  1578. #ifndef PurifyOptions
  1579. #define PurifyOptions /**/
  1580. #endif
  1581. #endif
  1582. #if HasTestCenter
  1583. #ifndef ProofCmd
  1584. #define ProofCmd proof
  1585. #endif
  1586. #ifndef ProofOptions
  1587. #define ProofOptions /**/
  1588. #endif
  1589. #endif
  1590. #ifndef PathSeparator
  1591. #define PathSeparator /
  1592. #endif
  1593. #ifndef Osuf
  1594. #define Osuf o
  1595. #endif
  1596. #ifndef CCsuf
  1597. #define CCsuf cc
  1598. #endif
  1599. #ifndef SHsuf
  1600. #define SHsuf sh
  1601. #endif
  1602. #ifndef ManSuffix
  1603. #define ManSuffix    n        /* use just one tab or cpp will die */
  1604. #endif
  1605. #ifndef LibManSuffix
  1606. #define LibManSuffix    3        /* use just one tab or cpp will die */
  1607. #endif
  1608. #ifndef FileManSuffix
  1609. #if SystemV || SystemV4 || defined(OSF1Architecture)
  1610. #define FileManSuffix    4        /* use just one tab or cpp will die */
  1611. #else
  1612. #define FileManSuffix    5        /* use just one tab or cpp will die */
  1613. #endif
  1614. #endif
  1615. #ifndef MiscManSuffix
  1616. #if SystemV || SystemV4 || defined(OSF1Architecture)
  1617. #define MiscManSuffix    5        /* use just one tab or cpp will die */
  1618. #else
  1619. #define MiscManSuffix    7        /* use just one tab or cpp will die */
  1620. #endif
  1621. #endif
  1622. #ifndef DriverManSuffix
  1623. #if SystemV || SystemV4 || defined(OSF1Architecture)
  1624. #define DriverManSuffix    7        /* use just one tab or cpp will die */
  1625. #else
  1626. #define DriverManSuffix    4        /* use just one tab or cpp will die */
  1627. #endif
  1628. #endif
  1629. #ifndef AdminManSuffix
  1630. #if SystemV || SystemV4
  1631. #define AdminManSuffix    1m        /* use just one tab or cpp will die */
  1632. #else
  1633. #define AdminManSuffix    8        /* use just one tab or cpp will die */
  1634. #endif
  1635. #endif
  1636. #ifndef ExpandManNames
  1637. #if SystemV
  1638. #define ExpandManNames NO
  1639. #else
  1640. #define ExpandManNames YES
  1641. #endif
  1642. #endif
  1643. #ifndef ManSrcSuffix
  1644. #define ManSrcSuffix    man
  1645. #endif
  1646. #ifndef ManNewSuffix
  1647. #define ManNewSuffix    _man
  1648. #endif
  1649. #ifndef TOPDIR
  1650. #define TOPDIR .
  1651. #endif
  1652. #ifndef CURDIR
  1653. #define CURDIR .
  1654. #endif
  1655. #ifndef SiteIConfigFiles
  1656. #define SiteIConfigFiles /**/
  1657. #endif
  1658. #ifndef OtherIConfigFiles
  1659. #define OtherIConfigFiles /**/
  1660. #endif
  1661. #ifndef ExtraFilesToClean
  1662. #define ExtraFilesToClean /**/
  1663. #endif
  1664. #ifndef DocFilesToClean
  1665. #define DocFilesToClean /**/
  1666. #endif
  1667. #ifndef FilesToClean
  1668. #define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
  1669. #endif
  1670.  
  1671. #ifdef CrossCompileDir
  1672. # ifndef StripPath
  1673. #  define StripPath(x) `echo x|sed "s%.*/%%"`
  1674. # endif
  1675. # ifndef CrossArCmd
  1676. #  define CrossArCmd Concat3(CrossCompileDir,/,StripPath(ArCmd))
  1677. # endif
  1678. # ifndef CrossCcCmd
  1679. #  define CrossCcCmd Concat3(CrossCompileDir,/,StripPath(CcCmd))
  1680. # endif
  1681. # ifndef CrossAsCmd
  1682. #  define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
  1683. # endif
  1684. # ifdef HasFortran
  1685. #  ifndef CrossFortranCmd
  1686. #   define CrossFortranCmd Concat3(CrossCompileDir,/,StripPath(FortranCmd))
  1687. #  endif
  1688. # endif
  1689. # ifndef CrossCplusplusCmd
  1690. #  define CrossCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd))
  1691. # endif
  1692. # ifndef CrossCppCmd
  1693. #  define CrossCppCmd Concat3(CrossCompileDir,/,StripPath(CppCmd))
  1694. # endif
  1695. # ifndef CrossRawCppCmdCmd
  1696. #  define CrossRawCppCmd Concat3(CrossCompileDir,/,StripPath(RawCppCmd))
  1697. # endif
  1698. # ifndef CrossPreProcessCmd
  1699. #  define CrossPreProcessCmd Concat3(CrossCompileDir,/,StripPath(PreProcessCmd))
  1700. # endif
  1701. # ifndef CrossAsCmd
  1702. #  define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
  1703. # endif
  1704. # ifndef CrossLdCmd
  1705. #  define CrossLdCmd Concat3(CrossCompileDir,/,StripPath(LdCmd))
  1706. # endif
  1707. # ifndef CrossModuleLdCmd
  1708. #  define CrossModuleLdCmd CrossLdCmd
  1709. # endif
  1710. # ifndef CrossLintCmd
  1711. #  define CrossLintCmd Concat3(CrossCompileDir,/,StripPath(LintCmd))
  1712. # endif
  1713. # ifndef CrossRanlibCmd
  1714. #  define CrossRanlibCmd Concat3(CrossCompileDir,/,StripPath(RanlibCmd))
  1715. # endif
  1716. # ifndef CrossModuleCcCmd
  1717. #  define CrossModuleCcCmd Concat3(CrossCompileDir,/,StripPath(ModuleCcCmd))
  1718. # endif
  1719. # ifndef CrossAsCmd
  1720. #  define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
  1721. # endif
  1722. # ifndef CrossStripCmd
  1723. #  define CrossStripCmd Concat3(CrossCompileDir,/,StripPath(StripCmd))
  1724. # endif
  1725. #endif
  1726.  
  1727.           PATHSEP = PathSeparator
  1728.             SHELL = BourneShell
  1729.  
  1730.               TOP = TOPDIR
  1731.       CURRENT_DIR = CURDIR
  1732.  
  1733.             IMAKE = ImakeCmd
  1734.            DEPEND = DependCmd
  1735.         MKDIRHIER = MkdirHierCmd
  1736.           REVPATH = RevPathCmd
  1737.     EXPORTLISTGEN = ExportListCmd
  1738.              RMAN = RmanCmd
  1739.      RMANBASENAME = HostProgramTargetName(rman)
  1740.       RMANOPTIONS = RmanOptions
  1741.         CONFIGSRC = ConfigSrc
  1742.          IMAKESRC = $(CONFIGSRC)/imake
  1743.         DEPENDSRC = DependDir
  1744.  
  1745.           INCROOT = IncRoot        /* base of where to put header files */
  1746.         USRLIBDIR = UsrLibDir        /* nonshared libraries */
  1747.            VARDIR = VarDirectory    /* usually /var */
  1748.         VARLIBDIR = VarLibDir        /* xdm runtime files */
  1749.   SYSTEMUSRLIBDIR = SystemUsrLibDir    /* system's "/usr/lib" */
  1750.   SYSTEMUSRINCDIR = SystemUsrIncDir    /* system's "/usr/include" */
  1751.          SHLIBDIR = ShLibDir            /* shared libraries */
  1752.        LINTLIBDIR = LintlibDir        /* lint libraries */
  1753.           MANPATH = ManPath        /* top of manual page tree */
  1754.     MANSOURCEPATH = ManSourcePath    /* prefix for man page sources */
  1755.            MANDIR = ManDir        /* man pages for commands */
  1756.         LIBMANDIR = LibmanDir        /* man pages for library routines */
  1757.        FILEMANDIR = FileManDir        /* man pages for config files */
  1758.        MISCMANDIR = MiscManDir        /* man pages for miscellaneous files */
  1759.      DRIVERMANDIR = DriverManDir    /* man pages for drivers */
  1760.           ICONDIR = IconDir        /* Xcursor cursors/icon directory */
  1761.       XCURSORPATH = XcursorPath        /* Xcursor cursors path */
  1762.      LOGDIRECTORY = LogDirectory    /* OS location of log files */
  1763. #ifdef VarRunDirectory
  1764.         VARRUNDIR = VarRunDirectory    /* OS location of PID files */
  1765. #endif
  1766. #ifdef VarDbDirectory
  1767.          VARDBDIR = VarDbDirectory    /* OS location of db/state files */
  1768. #endif
  1769. #ifdef CrossCompileDir
  1770.                AR = CrossArCmd
  1771. #else
  1772.                AR = ArCmd
  1773. #endif
  1774. XCOMM Nice try but useless: make will inherit BOOTSTRAPCFLAGS
  1775. XCOMM from  top Makefile
  1776.   BOOTSTRAPCFLAGS = BootstrapCFlags    /* set if cpp does not have uniq sym */
  1777. #ifdef CrossCompileDir
  1778.                CC = CrossCcCmd
  1779.                AS = CrossAsCmd
  1780. #else
  1781.                CC = CcCmd
  1782.                AS = AsCmd
  1783. #endif
  1784. #if HasFortran
  1785. # ifdef CrossCompileDir
  1786.                FC = CrossFortranCmd
  1787. # else
  1788.                FC = FortranCmd
  1789. # endif
  1790.       FDEBUGFLAGS = FortranDebugFlags
  1791.           FCFLAGS = FortranFlags $(FDEBUGFLAGS)
  1792. #endif
  1793. #if HasCplusplus
  1794.  
  1795. .SUFFIXES: Concat(.,CCsuf)
  1796.  
  1797. #ifdef CrossCompileDir
  1798.               CXX = CrossCplusplusCmd
  1799. #else
  1800.               CXX = CplusplusCmd
  1801. #endif
  1802.           CXXFILT = CplusplusFilt
  1803. #ifdef CplusplusLibCDir
  1804.         CXXLIBDIR = CplusplusLibCDir
  1805.            CXXLIB = -L$(CXXLIBDIR) CplusplusLibC
  1806. #else
  1807.            CXXLIB = CplusplusLibC
  1808. #endif
  1809.  
  1810.     CXXDEBUGFLAGS = DefaultCplusplusDebugFlags
  1811. CXXDEPENDINCLUDES = CplusplusDependIncludes
  1812.  CXXEXTRA_DEFINES = CplusplusExtraDefines
  1813. CXXEXTRA_INCLUDES = CplusplusExtraIncludes
  1814.    CXXSTD_DEFINES = CplusplusStandardDefines $(CXXPROJECT_DEFINES)
  1815.        CXXOPTIONS = CplusplusOptions
  1816.       CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES)
  1817.        CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES)
  1818.          CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
  1819. #endif
  1820.          COMPRESS = CompressCmd
  1821.           GZIPCMD = GzipCmd
  1822. #ifdef CrossCompileDir
  1823.               CPP = CrossCppCmd $(STD_CPP_DEFINES)
  1824.            RAWCPP = CrossRawCppCmd $(STD_CPP_OPTIONS)
  1825.     PREPROCESSCMD = CrossPreProcessCmd $(STD_CPP_DEFINES)
  1826. #else
  1827.               CPP = CppCmd $(STD_CPP_DEFINES)        /* simple filters */
  1828.            RAWCPP = RawCppCmd $(STD_CPP_OPTIONS)
  1829.     PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES)    /* prefered; mdep */
  1830. #endif
  1831.           INSTALL = InstallCmd
  1832.      INSTALLFLAGS = InstallFlags
  1833. #ifdef CrossCompileDir
  1834.                LD = CrossLdCmd
  1835. #else
  1836.                LD = LdCmd
  1837. #endif
  1838.               LEX = LexCmd
  1839.                M4 = M4Cmd
  1840.           M4FLAGS = M4Flags
  1841.            LEXLIB = LexLib
  1842.              YACC = YaccCmd
  1843.            CCYACC = CplusplusYaccCmd
  1844. #ifdef CrossCompileDir
  1845.              LINT = CrossLintCmd
  1846. #else
  1847.              LINT = LintCmd
  1848. #endif
  1849.       LINTLIBFLAG = LintLibFlag
  1850.          LINTOPTS = LintOpts
  1851.                LN = LnCmd
  1852.              MAKE = MakeCmd
  1853.                MV = MvCmd
  1854.                CP = CpCmd
  1855. #if DoRanlibCmd
  1856. #ifdef CrossCompileDir
  1857.            RANLIB = CrossCompileDir/RanlibCmd
  1858. #else
  1859.            RANLIB = RanlibCmd
  1860. #endif
  1861.   RANLIBINSTFLAGS = RanlibInstFlags
  1862. #endif
  1863.                RM = RmCmd
  1864.              PERL = PerlCmd
  1865.          PERLOPTS = PerlOptions
  1866.      PERLENVSETUP = PerlEnvSetup
  1867.         MANSUFFIX = ManSuffix        /* suffix for command man pages */
  1868.      LIBMANSUFFIX = LibManSuffix    /* suffix for library man pages */
  1869.     FILEMANSUFFIX = FileManSuffix    /* suffix for file format man pages */
  1870.     MISCMANSUFFIX = MiscManSuffix    /* suffix for misc man pages */
  1871.   DRIVERMANSUFFIX = DriverManSuffix    /* suffix for driver man pages */
  1872.    ADMINMANSUFFIX = AdminManSuffix    /* suffix for admin command man pages */
  1873.      MANSRCSUFFIX = ManSrcSuffix    /* suffix for man page source */
  1874.      MANNEWSUFFIX = ManNewSuffix    /* suffix for preprocessed man source */
  1875.           MANDEFS = AppLoadDefs AppManDefs FileManDefs LibManDefs MiscManDefs DriverManDefs AdminManDefs ProjectManDefs XConfigFileManDefs XConfigDirManDefs XLogFileManDefs XServerManDefs $(XORGMANDEFS) $(VENDORMANDEFS)
  1876.  
  1877.    COMPRESSMANCMD = CompressManCmd
  1878.  
  1879.             TROFF = TroffCmd
  1880.             NROFF = NroffCmd
  1881. #ifdef HTMLroffCmd
  1882.          HTMLROFF = HTMLroffCmd
  1883. #endif
  1884. #ifdef PsToPdfCmd
  1885.        PSTOPDFCMD = PsToPdfCmd
  1886. #endif
  1887.          MSMACROS = MsMacros
  1888.         MANMACROS = ManMacros
  1889.               TBL = TblCmd
  1890.               EQN = EqnCmd
  1891.              NEQN = NeqnCmd
  1892.               COL = ColCmd
  1893.          COLFLAGS = ColFlags
  1894. #ifdef CrossCompileDir
  1895.         MODCC = CrossModuleCcCmd
  1896. #else
  1897.             MODCC = ModuleCcCmd
  1898. #endif
  1899.            MODCPP = ModuleCppCmd
  1900.         MODCFLAGS = ModuleCFlags
  1901.             MODAS = ModuleAsCmd
  1902.        MODASFLAGS = ModuleAsFlags
  1903. #ifdef CrossCompileDir
  1904.         MODLD = CrossModuleLdCmd
  1905. #else
  1906.             MODLD = ModuleLdCmd
  1907. #endif
  1908.        MODLDFLAGS = ModuleLdFlags
  1909. MODLDCOMBINEFLAGS = ModuleLdCombineFlags
  1910.             MODAR = ModuleArCmd
  1911. #ifdef CrossCompileDir
  1912.         MODRANLIB = CrossCompileDir/ModuleRanlibCmd
  1913. #else
  1914.         MODRANLIB = ModuleRanlibCmd
  1915. #endif
  1916. #if HasLatex
  1917.             DVIPS = DvipsCmd
  1918.             LATEX = LatexCmd
  1919. #endif
  1920. #if HasPdfLatex
  1921.       PDFLATEXCMD = PdfLatexCmd
  1922. #endif
  1923. #if HasSentinel
  1924.          SENTINEL = SentinelCmd
  1925.   SENTINELOPTIONS = SentinelOptions
  1926. #endif
  1927. #if HasPurify
  1928.            PURIFY = PurifyCmd
  1929.     PURIFYOPTIONS = PurifyOptions
  1930. #endif
  1931. #if HasTestCenter
  1932.            PROOF = ProofCmd
  1933.     PROOFOPTIONS = ProofOptions
  1934. #endif
  1935. #if CrossCompiling
  1936.           HOST_CC = HostCcCmd
  1937. #endif
  1938.      STD_INCLUDES = StandardIncludes
  1939.   STD_CPP_OPTIONS = StandardCppOptions
  1940.   STD_CPP_DEFINES = StandardCppOptions StandardCppDefines $(PROJECT_DEFINES)
  1941.       STD_DEFINES = StandardDefines $(PROJECT_DEFINES)
  1942.  EXTRA_LOAD_FLAGS = ExtraLoadFlags
  1943.   EXTRA_LDOPTIONS = ExtraLoadOptions
  1944.   EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries
  1945.              TAGS = TagsCmd
  1946. #if ConstructMFLAGS
  1947.            MFLAGS = -$(MAKEFLAGS)
  1948. #endif
  1949. #if ConstructMAKEFLAGS
  1950.         MAKEFLAGS = $(MFLAGS)
  1951. #endif
  1952.    PARALLELMFLAGS = ParallelMakeFlags
  1953. #if HasSharedLibraries
  1954.     SHAREDCODEDEF = SharedCodeDef
  1955.          SHLIBDEF = SharedLibraryDef
  1956. #ifdef SharedLibraryLoadFlags
  1957.      SHLIBLDFLAGS = SharedLibraryLoadFlags $(SHLIBGLOBALSFLAGS)
  1958. #endif
  1959. /*
  1960.  * Here we set up flags needed to produce position-independent code
  1961.  * when doing C and C++ compilation.  The default if you specify C
  1962.  * PIC flags without also specifying C++ PIC flags is to assume that
  1963.  * the C flags work for both.  If your C++ compiler requires different
  1964.  * flags, specify them explicitly in PositionIndependentCplusplusFlags.
  1965.  */
  1966. #ifdef PositionIndependentCFlags
  1967.          PICFLAGS = PositionIndependentCFlags
  1968. #endif
  1969. #ifdef PositionIndependentCplusplusFlags
  1970.       CXXPICFLAGS = PositionIndependentCplusplusFlags
  1971. #else
  1972. #ifdef PositionIndependentCFlags
  1973.       CXXPICFLAGS = PositionIndependentCFlags
  1974. #endif
  1975. #endif
  1976. #endif
  1977. #if !HasVoidSignalReturn
  1978.    SIGNAL_DEFINES = -DSIGNALRETURNSINT
  1979. #endif
  1980. /*
  1981.  * The following supports forcing of function prototypes
  1982.  */
  1983. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
  1984. #define _funcprotodef -DFUNCPROTO=15
  1985. #else
  1986. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
  1987. #define _funcprotodef -DFUNCPROTO=11
  1988. #else
  1989. #if NeedFunctionPrototypes && NeedNestedPrototypes
  1990. #define _funcprotodef -DFUNCPROTO=9
  1991. #else
  1992. #if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
  1993. #define _funcprotodef -DFUNCPROTO=7
  1994. #else
  1995. #if NeedFunctionPrototypes && NeedConstPrototypes
  1996. #define _funcprotodef -DFUNCPROTO=5
  1997. #else
  1998. #if NeedFunctionPrototypes && NeedVarargsPrototypes
  1999. #define _funcprotodef -DFUNCPROTO=3
  2000. #else
  2001. #if NeedFunctionPrototypes
  2002. #define _funcprotodef -DFUNCPROTO
  2003. #else
  2004. #define _funcprotodef /**/
  2005. #endif
  2006. #endif
  2007. #endif
  2008. #endif
  2009. #endif
  2010. #endif
  2011. #endif
  2012. #if NeedWidePrototypes
  2013. #define _wideprotodef /**/
  2014. #else
  2015. #define _wideprotodef -DNARROWPROTO
  2016. #endif
  2017.     PROTO_DEFINES = _funcprotodef _wideprotodef
  2018. #undef _funcprotodef
  2019. #undef _wideprotodef
  2020.  
  2021. #if StripInstalledPrograms
  2022.      INSTPGMFLAGS = InstPgmFlags    /* install flags for stripping */
  2023. #else
  2024.      INSTPGMFLAGS =
  2025. #endif
  2026.      INSTBINFLAGS = InstBinFlags    /* install flags for programs */
  2027.      INSTUIDFLAGS = InstUidFlags    /* install flags for setuid programs */
  2028.      INSTLIBFLAGS = InstLibFlags    /* install flags for libraries */
  2029.      INSTINCFLAGS = InstIncFlags    /* install flags for headers */
  2030.      INSTMANFLAGS = InstManFlags    /* install flags for man pages */
  2031.      INSTDATFLAGS = InstDatFlags    /* install flags for data files */
  2032.     INSTKMEMFLAGS = InstKmemFlags    /* install flags for /dev/kmem progs */
  2033.  
  2034. #ifdef ProjectRoot
  2035.       PROJECTROOT = ProjectRoot
  2036. #endif
  2037. #ifdef UseInstalled
  2038. # if AlternateIncRoot
  2039. #  define TopInclude    -I$(INCROOT)
  2040. # else
  2041. #  define TopInclude    /**/
  2042. # endif
  2043. #else
  2044. # define TopInclude    -I$(TOP)
  2045. #endif
  2046.  
  2047.       CDEBUGFLAGS = DefaultCDebugFlags
  2048.         CCOPTIONS = DefaultCCOptions    /* to distinguish from param flags */
  2049. /*
  2050.  * STD_INCLUDES contains system-specific includes
  2051.  * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
  2052.  * EXTRA_INCLUDES contains project-specific includes set in project incfiles
  2053.  * INCLUDES contains client-specific includes set in Imakefile
  2054.  * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
  2055.  */
  2056.       ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
  2057.        ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
  2058.            CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
  2059.         LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
  2060.          LDPRELIB = LdPreLib $(INSTALLED_LIBS)
  2061.         LDPOSTLIB = LdPostLib
  2062.         LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)  $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
  2063.      CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
  2064.  
  2065.            LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  2066. #if HasBrokenCCForLink
  2067.            CCLINK = LdCmd
  2068. #else
  2069. #if AlternateUsrLibDir && HasLdRunPath
  2070.        CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
  2071.            CCLINK = $(CCENVSETUP) $(CC)
  2072. #else
  2073.            CCLINK = $(CC)
  2074. #endif
  2075. #endif
  2076. #if AlternateUsrLibDir && HasLdRunPath
  2077.       CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
  2078.           CXXLINK = $(CXXENVSETUP) $(CXX)
  2079. #else
  2080.           CXXLINK = $(CXX)
  2081. #endif
  2082.      LDSTRIPFLAGS = LdStripFlags
  2083.    LDCOMBINEFLAGS = LdCombineFlags
  2084.       DEPENDFLAGS = DependFlags
  2085.    DEPEND_DEFINES = DependDefines
  2086.  
  2087. XCOMM Not sure this belongs here
  2088.          TKLIBDIR = TkLibDir
  2089.          TKINCDIR = TkIncDir
  2090.         TKLIBNAME = TkLibName
  2091.         TKLIBRARY = TkLibrary
  2092.         TCLLIBDIR = TclLibDir
  2093.         TCLINCDIR = TclIncDir
  2094.        TCLLIBNAME = TclLibName
  2095.        TCLLIBRARY = TclLibrary
  2096.  
  2097.         MACROFILE = MacroFile
  2098.            RM_CMD = $(RM)
  2099.  
  2100.     IMAKE_DEFINES = /* leave blank, for command line use only */
  2101.    IMAKE_WARNINGS = ImakeWarningFlags
  2102. #ifdef UseInstalled
  2103.          IRULESRC = $(CONFIGDIR)    /* used in rules file */
  2104.         IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) \
  2105.             $(IMAKE_WARNINGS)
  2106. #else
  2107.          IRULESRC = $(CONFIGSRC)/cf
  2108.         IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
  2109. #endif
  2110. #if !HasClearmake
  2111.      /* clearmake records relevant defines and flags in the build script,
  2112.     so it knows when they change and we don't need this coarser-level
  2113.     dependency.  We also don't want it, since it prevents sharing if
  2114.     even one config file, say site.def or host.def, changes. */
  2115.      ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \
  2116.             $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \
  2117.             OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES)
  2118. #endif
  2119.  
  2120. #ifndef TopLevelProject
  2121. # define TopLevelProject    X11
  2122. #endif
  2123. #ifndef ProjectRulesFile
  2124. # define ProjectRulesFile    Concat3(<,TopLevelProject,.rules>)
  2125. #endif
  2126. #include ProjectRulesFile
  2127. #ifndef LocalRulesFile
  2128. /* need this to make ANSI-style preprocessors happy */
  2129. #define LocalRulesFile <noop.rules>
  2130. #endif
  2131. #include LocalRulesFile
  2132.  
  2133. /*
  2134.  * get project-specific configuration and rules
  2135.  */
  2136. #ifndef ProjectTmplFile
  2137. #define ProjectTmplFile        Concat3(<,TopLevelProject,.tmpl>)
  2138. #endif
  2139. #include ProjectTmplFile
  2140. #ifndef LocalTmplFile
  2141. /* need this to make ANSI-style preprocessors happy */
  2142. #define LocalTmplFile <noop.rules>
  2143. #endif
  2144. #include LocalTmplFile
  2145.  
  2146. #if !BuildLibraries && AlternateIncRoot && !defined(CrossCompileDir)
  2147. INSTALLED_INCLUDES = -I$(INCROOT)
  2148. #endif
  2149.  
  2150. #if !defined(UseInstalled) && !BuildLibraries && AlternateUsrLibDir && !defined(CrossCompileDir)
  2151. INSTALLED_LIBS = -L$(USRLIBDIR)
  2152. #endif
  2153.  
  2154. #ifdef FixupLibReferences
  2155. FixupLibReferences()
  2156. #endif
  2157.  
  2158. /* ConfigDir comes from X11.tmpl */
  2159.         CONFIGDIR = ConfigDir        /* build configuration information */
  2160. #if HasClearmake
  2161.            OSNAME = OSName
  2162. #endif
  2163.     USRLIBDIRPATH = UsrLibDirPath
  2164.         LDPRELIBS = LdPreLibs $(INSTALLED_LIBS)
  2165.        LDPOSTLIBS = LdPostLibs
  2166.      TOP_INCLUDES = TopIncludes
  2167.   PROJECT_DEFINES = ProjectDefines
  2168.    VENDOR_DEFINES = VendorDefines
  2169. #if HasCplusplus
  2170. CXXPROJECT_DEFINES = CplusplusProjectDefines
  2171. #endif
  2172.  
  2173. XCOMM ----------------------------------------------------------------------
  2174. XCOMM start of Imakefile
  2175. #include INCLUDE_IMAKEFILE
  2176.  
  2177. XCOMM ----------------------------------------------------------------------
  2178. XCOMM common rules for all Makefiles - do not edit
  2179.  
  2180. .c.i:
  2181.     CPPOnlyCompile($*.c,$(_NOOP_))
  2182.  
  2183. .SUFFIXES: .ii
  2184.  
  2185. .cc.ii:
  2186.     CPPOnlyCompile($*.cc,$(_NOOP_))
  2187.  
  2188. .SUFFIXES: .s
  2189.  
  2190. .c.s:
  2191.     CompileCToAsm($(_NOOP_))
  2192.  
  2193. .cc.s:
  2194.     CompileCplusplusToAsm($(_NOOP_))
  2195.  
  2196. /*
  2197.  * These need to be here so that rules in Imakefile occur first;  the blank
  2198.  * emptyrule is to make sure that an empty Imakefile does not default to make
  2199.  * clean.
  2200.  */
  2201. emptyrule::
  2202.  
  2203. CleanTarget()
  2204.  
  2205. #ifndef IHaveSpecialMakefileTarget
  2206. MakefileTarget()
  2207. #endif
  2208.  
  2209. #if BuildHtmlManPages
  2210. RmanDependency()
  2211. #endif
  2212.  
  2213. TagsTarget()
  2214. #ifdef MakefileAdditions
  2215. MakefileAdditions()
  2216. #endif
  2217.  
  2218. CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES))
  2219.  
  2220. CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES))
  2221.  
  2222. ManKeywordsTarget($(MANPATH))
  2223.  
  2224. HtmlManIndex
  2225.  
  2226. /* Generate the "real" clean rules */
  2227. #undef clean
  2228.  
  2229. clean:: cleandir
  2230.  
  2231. distclean:: cleandir
  2232.  
  2233. #ifdef IHaveSubdirs
  2234. XCOMM ----------------------------------------------------------------------
  2235. XCOMM rules for building in SUBDIRS - do not edit
  2236.  
  2237. InstallSubdirs($(SUBDIRS))
  2238. InstallManSubdirs($(SUBDIRS))
  2239. InstallDriverSDKSubdirs($(SUBDIRS))
  2240. CleanSubdirs($(SUBDIRS))
  2241. TagSubdirs($(SUBDIRS))
  2242. MakefileSubdirs($(SUBDIRS))
  2243. IncludesSubdirs($(SUBDIRS))
  2244.  
  2245. /* "distclean" subdirectories */
  2246. #undef  BootstrapCleanSubdirs
  2247. #define BootstrapCleanSubdirs /**/
  2248. #define clean distclean
  2249. CleanSubdirs($(SUBDIRS))
  2250. #undef clean
  2251.  
  2252. #endif
  2253.  
  2254. #if !DontPreprocessManPages || defined(PreprocessManPages)
  2255.     PREPROCESSMANPAGES = true
  2256. #endif
  2257. /* must be after all install.man rules that install anything */
  2258. #ifndef MakeManKeywords
  2259. #define MakeManKeywords        NO
  2260. #endif
  2261. #if MakeManKeywords        /* typically only at top level */
  2262. install.man:: man_keywords
  2263. #endif
  2264.  
  2265. /* must be after all install.man rules that install anything */
  2266. #ifndef MakeHtmlManIndex
  2267. #define MakeHtmlManIndex    NO
  2268. #endif
  2269. #if MakeHtmlManIndex        /* typically only at top level */
  2270. install.man:: html_index
  2271. #endif
  2272.  
  2273. #ifndef IHaveSubdirs
  2274. XCOMM ----------------------------------------------------------------------
  2275. XCOMM empty rules for directories that do not have SUBDIRS - do not edit
  2276.  
  2277. install::
  2278.     @echo "install in $(CURRENT_DIR) done"
  2279.  
  2280. install.man::
  2281.     @echo "install.man in $(CURRENT_DIR) done"
  2282.  
  2283. install.sdk::
  2284.     @echo "install.sdk in $(CURRENT_DIR) done"
  2285.  
  2286. Makefiles::
  2287.  
  2288. includes::
  2289.  
  2290. depend::
  2291.  
  2292. #endif /* if subdirectory rules are needed */
  2293.  
  2294. #ifndef IHaveSpecialMakefileTarget
  2295. /* "distclean" also removes the Makefile and the depend file */
  2296. distclean::
  2297.     RemoveFiles(Makefile DependFileName)
  2298. #endif
  2299.  
  2300. XCOMM ----------------------------------------------------------------------
  2301. XCOMM dependencies generated by makedepend
  2302. IncludeMakefile(DependFileName)
  2303.